package cn.da.shuai.cool.ai.search.client.vo;

import cn.da.shuai.cool.common.entity.UpdateBase;
import dev.langchain4j.model.output.structured.Description;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.Email;
import jakarta.validation.constraints.NotBlank;
import lombok.Getter;
import lombok.Setter;

@Setter
@Getter
@Description("添加用户数据，姓名、用户编号为必填项，其他为非必填项")
@Schema(description = "用户更新实体")
public class AISaveUserVo extends UpdateBase<Integer> {


    @NotBlank
    @Schema(description = "姓名")
    @Description({"用户姓名，必填项，如果没有填写，请提示用户必须填写"})
    private String username;

    @Description({"用户编号，必填项，如果没有填写，停止调用，请提示用户必须填写"})
    @NotBlank(message = "{user.no.notBlank}")
    @Schema(description = "用户编号")
    private String userNo;

    @Description({"用户昵称，非必填项"})
    @Schema(description = "用户昵称")
    private String nickName;

    @Description({"用户邮箱，非必填项"})
    @Email
    @Schema(description = "邮箱")
    private String email;

    @Description({"用户手机号，非必填项"})
    @Schema(description = "手机号码")
    private String phone;

    @Description({"用户性别，非必填项，男转换成1，女转换成2，保密转换成3，其他转换成0"})
    @Schema(description = "性别（1男 2女 3保密）")
    private Integer gender;

    @Description({"用户备注，非必填项"})
    @Schema(description = "备注")
    private String remark;
}
